This invention is related to the field of wireless communication (e.g., cellular networks). More specifically, it relates to registering mobiles and routing packets to and from mobiles in both home and foreign domains.
The Internet has revolutionized the way society does its day-to-day chores. Such day-to-day chores include reading our daily morning papers, trading stocks, keeping track of weather, buying clothes, etc. Furthermore, the technology of wireless communications continues to improve. Wireless communications transitioned from analog radio systems to digital systems back in the sixties and now offers broadband access. Furthermore, because of the Internet (along with associated Internet applications) the wireless networking revolution will continue its rapid growth.
Mobile IP [RFC2002]; IP mobility support, Charles Perkins (Editor), RFC 2002, October 1996, hereby incorporated by reference, provides a framework wherein mobile nodes (or mobile hosts or mobiles) can move from one point of attachment (e.g. a sub network in an enterprise) to another point of attachment (e.g. another sub-network in another enterprise) and still be able to communicate with other nodes. The reason mobile IP can do this is because it provides the means to keep track of the current location (called a binding in the Mobile IP specification [RFC2002], and have all the traffic forwarded to the mobile node""s current location transparently. Whenever the mobile node moves from one sub-network to another, its location is updated by updating the tracking (i.e. the binding) which is maintained in its home network (e.g. the network in which the user is officially registered).
However, updated tracking comes at a cost. Overhead, in the form of handoffs, is incurred when updating the tracking. Everytime a mobile host performs a handoff in a foreign network, Mobile IP Registration Request and Response messages are exchanged between the mobile host and the home agent.
One solution to the problem of frequent registration request messages being sent to the home agent is to take advantage of the domain concept and the topology of the domain (usually Tree-like). (A domain refers to a collection of base stations and routers under a unique administrative authority). Domains can be arranged in a hierarchical or tree-like manner. A root system is connected to successively lower levels of systems or servers). The base stations in cellular networks are usually clustered together with routers in the upstream to form domains that determine that determine where packets are forwarded.
Several protocols, such as HAWAII [Lucent], Cellular IP [Ericsson], and Hierarchical Foreign Agent, have been proposed to decrease the amount of messages sent to the home agent (HA). Each of these protocols uses the domain concept to reduce the number of messages sent. The HAWAII and Cellular IP proposals are very similar, but HAWAII has greater appeal because it offers a more complete solution to the above stated problem. An overview of the design of the protocols used in each is given below. Brief descriptions of the proposals from Singapore University and Hierarchical Micro-mobility Management are also given.
1.1 Handoff Aware Wireless Access Internet Infrastructure [HAWAII]
Some of the features of HAWAII include:
Defined two-level hierarchy along domain boundaries and defined separate mechanisms for inter-domain and intra-domain mobility. A unique co-located care-of-address is assigned to the mobile host to provide for QoS support.
Special paths are established to maintain end-to-end connectivity as the mobile host moves. These paths are used to provide a hop-by-hop routing of packets in the domain.
Soft-state mechanisms are used to provide a degree of tolerance to router or link failures within the network.
Depending upon the capability of the mobile host (i.e., the wireless technology used by the mobile node), two different schemes for smooth handoffs are provided. First, a non-forwarding scheme for mobile nodes is used that can receive data simultaneously from two different base stations. Second, a forwarding scheme for nodes is used that can receive data from only one base station at a time.
1.1.1 Terminology Used in HAWAII
Home Domain: This is the domain to which a mobile node belongs.
Foreign Domain: Any domain that the mobile node visits that is not its home domain.
Domain Root Router (DRR): This is the gateway to a domain.
Update Messages: These are messages sent by the base station to the routers upstream to update the entries of a mobile node periodically (using a lifetime) or when a handoff occurs.
1.1.2 Principles
The gateway into each domain is called the domain root router. Each mobile host has an IP address and a home domain. A domain may cover an area containing a few hundred base-stations, thereby increasing the probability that the mobile host remains in the same domain as it moves around. Maintaining the mobile host within the home domain reduces greatly the home agent""s job.
When a mobile node (MN) moves into a foreign domain, the usual mobile IP concepts come into play. Each mobile host is assigned a unique co-located care-of-address and the address is unchanged when moving within the foreign domain. The home agent (HA) tunnels the packets to the co-located care-of-address. (Tunneling is the technique by which datagrams are sent into the payload of a protocol of the same layer (e.g., IP layer). For example, tunneling occurs when an IP packet is put into another IP packet). The home agent is not notified of movements within the foreign domain and connectivity is maintained using dynamically established paths in the foreign domain.
1.1.2.1 Sequence of Operationsxe2x80x94Power Up
The base station determines if the MN is at home or in a foreign domain by comparing the network access identifier (NAI) sent along with the registration request with the NAI of the current wireless domain. See The Network Access Identifier, B. Aboba, Microsoft Corporation, M. Beadles, WorldCom Advanced Networks, RFC 2486, January 1999, hereby incorporated by reference. If the mobile is at home, the base station creates a route entry in every node up to the domain root router. On the other hand, if the mobile is in a foreign domain, the base station must forward the registration request to the home agent and create a route entry in every node up to the domain root router.
Packets from a correspondent node (CN) are sent to the home network of the MN.
The packets are intercepted by the HA and then tunneled to the MN using the co-located care-of address (CCOA). When the packets reach the wireless domain they are routed using the hop-by-hop route entries previously created.
1.1.2.2 Sequence of Operationsxe2x80x94Intra-Domain Handoff (Non-Forwarding Scheme)
Upon receiving a registration request from a MN, the base station (BS) determines the old BS IP address that the MN has moved out of as the MN sends the previous foreign agent node extension (PFANE), which includes the old BS address, along with the new registration request to the BS.
If the movement was an intra-domain movement, then the BS sends a Hawaii update message to the old BS, updating the cache of all the routers in the path between the new BS and the old BS.
The old BS then sends an acknowledgement back to the new BS.
The Above Operations Provide for Smooth-handoffs.
1.1.3 Sequence of Operationsxe2x80x94Data Flow
Packets sent by the CN are sent to the MN""s home network, the HA intercepts these packets and tunnels them to the CCOA. The DRR then sends the packets downstream through the appropriate interface on a hop-by-hop basis.
The crossover router then forwards the packets to the next hop router through the interface per the HAWAII entry.
1.2 Cellular IP [CIP]
Cellular IP allows the routing of IP datagrams to a mobile host. The cellular IP protocol, along with mobile IP, is intended to provide wide-area mobility support. Cellular IP has been designed for use on a local level, like in a campus or metropolitan area network.
1.2.1 Terminology
Cellular IP Node (CIP): A cellular IP network consists of interconnected Cellular IP (CIP) nodes. The nodes route packets inside the Cellular IP network and communicate via a wireless interface with mobile hosts.
Gateway Controller: The gateway controller (GC) receives packets (usually update packets) that are used by the gateway to update the locations of the MN and are then dropped.
Gateway Packet Filter: The gateway packet filter (GPF) checks to see if packets coming from within the domain are sent to the GC or forwarded on to the internet.
Cellular IP Gateway: A cellular IP gateway consists of a GC, CIP Node and GPF.
Control Packet: A control packet is used as a route-update and paging-update packet.
Paging Cache: Some Cellular IP nodes maintain a paging cache. It is used to route packets to an idle mobile node.
Routing Cache: All CIP nodes must have a routing cache and it is used for routing packets to an active mobile node.
1.3 Location Management and Routing
CIP uses two parallel cache systems to store information related to the location of mobile hosts, a routing-cache and a paging-cache. Mappings for active hosts are maintained in the routing-cache, which has a smaller timeout value than paging cache. For a host that performs handoffs frequently, the mappings are maintained at the routing-cache. Since the time-out values of the routing-cache are very small, the entry for a mobile from the routing cache of a node is flushed frequently. Consequently, packets are not sent to the mobile host""s old address resulting in less waste of resources. An idle host sends fewer update packets as these packets are only sent when the mobile node enters a new paging area before the expiration of the paging timer.
1.4 Cellular IP Functions
The following is a discussion of some of the features found in Cellular IP.
1.4.1 Location Management
Paging update packets are sent by idle hosts to update the paging-cache mappings. They reflect the current location (paging area), but do not modify the routing-cache mappings. Paging update packets are discarded once they reach the gateway to prevent Cellular IP specific control operations from reaching the internet. When an IP packet arrives at a cellular node that is addressed to a mobile host for which no up-to-date routing cache mapping is available, then the mapping in the paging-cache is used to route the packet. This phase is called xe2x80x9cImplicit Paging.xe2x80x9d
1.4.2 Routing
Packets transmitted by mobile hosts are routed to the gateway using regular hop-by-hop routing. The cellular IP nodes monitor these packets and update their routing-cache entries with the host address and the interface on which the packets arrived. Packets addressed to the mobile host are routed hop-by-hop in the reverse by the routing cache mappings. Mobile hosts that are active, but do not have any data to send, must send periodic route-update packets in order to ensure that route-caches are not purged. For reliability, paging caches may also contain mobile hosts that are also contained by the routing caches.
1.4.3 Handoff
The mobile host initiates handoffs. When a mobile host migrates or moves, packets are directed to the new base station. As a packet travels, it updates the caches along its path to the gateway. If there are nodes that share both the old and the new paths, then the old mappings are refreshed. Packets are sent to the old base stations and to the new base station for a time period equal to the timeout of the route-cache mappings. After the expiration of the timeout, the cache entries for the old base stations are cleared.
1.4.4 Wide-Area Mobility
Wide area mobility occurs when a mobile host moves from one Cellular IP network to another. The mobile nodes distinguish between Cellular IP networks by using the Cellular IP network identifier contained in the base station""s beacon signals. The beacon signal also contains the IP address of the gateway. A mobile host can start sending paging-update packets immediately. Upon receiving the first paging-update packet, the gateway performs admission control that could involve charging decisions, etc. Once the request has been accepted, the mobile host sends a mobile IP registration message to its home agent specifying the gateway""s IP address as the care-of address.
1.5 Proposal from Singapore University
This scheme has two features. First, it uses hierarchical mobility management architecture to restrict handoff processing within the domain. Second, it uses multicast as a mechanism to deliver packets to multiple base stations to achieve fast handoffs.
1.5.1 Terminology
Domain Foreign Agent (DFA): the DFA operates like a gateway into the domain. The DFA performs all functionality as mentioned in Mobile IP RFC2002, IP mobility support, Charles Perkins (Editor), RFC 2002, October 1996.
Dynamic Virtual Macro-cells (DVMs): The base stations are logically organized into DVMs. Clusters of base stations adjacent to each other form the DVMs. In fact, they may even overlap. Each BS may belong to multiple DVMs, but each BS can be the core of only one DVM.
1.5.2 Principles
The MN registers using the IP address of the DFA, which is broadcast on behalf of the DFA by the BS. The DFA then assigns a multicast address unique within it domain for the MN. The MN informs the serving BS to subscribe to this multicast address. In addition, the BS tells its neighboring BSs to subscribe to this multicast group. Packets destined to a MN within a domain are tunneled to the DFA. The DFA then forwards the packets to the multicast address of the MN. BSs subscribed to the multicast group receive the datagrams. Only the BS that serves the MN forwards the packet, while other BSs just buffer them.
Disadvantages
On disadvantage in using the proposal from Singapore is that there is a latency incurred during handoff in the determination of the core router, which is the multicast router serving all the base stations.
1.6 Hierarchical Micro Mobility [UHMM99, Toward a Unified Hierarchical Mobility Management Framework, Claude Castelluccia, Lubovic Bellier, Institut National de Recherche en Informatique et en Automatique, draft castellucia-uhmm-framework-00.txt, work in progress]
1.6.1 Terminology
In this proposed micro mobility scheme, the mobility management protocol is composed of three components:
Access Mobility Management Protocol: It specifies the registration procedures between the MN and the domain the MN is attached to. In addition, it operates independently of the micro and macro-mobility management protocols used in the core of the network.
Micro-mobility Management Protocol: It handles local mobility within the domain.
Macro-mobility Management Protocol: It handles macro-mobility (inter-domain) of the MN; The Mobile IP is used to achieve macro-mobility.
1.6.2 Principles
The proposal is based on the deployment of mobility supports (MS). A MS is a router or set of routers that maintains a binding for mobile nodes currently visiting the domain. In addition, they send binding updates on behalf of the MN. The functions of a MS include:
Processing registration messages sent by the MN.
Sending binding updates to the CN and the HA of the MN.
Intercepting and redirecting packets addressed to the MN.
1.6.3 Sequence of Operations: Entering a New Domain (Inter-domain Movement)
Obtains a Care-of Address (CoA) (also called Physical CoA (PcoA)) and registers with the mobility support (MS), by sending its home address, home agent address, PcoA and the address of its previous mobility support (MS_p) in the previous domain. The registration is acknowledged by the mobility support.
Upon receiving a registration message from the MN, the MS allocates a Virtual CoA (VCoA) for the MN and registers with its HA on behalf of the MN. It then acknowledges the reception of the registration message sent by the MN. The acknowledgement contains the VCoA.
After the above-mentioned operations, the MS asks the MS_p to redirect all packets addressed to the MN to it. MS_p must acknowledge this request and send the list of CNs and the list of sequence numbers of the latest binding updates sent.
Creates an entry that contains binding between the MN""s address, its HA, VCoA and the list of CNs and sequence numbers.
Sends a binding update to each CN.
MS then creates a binding between the MN""s PCoA and VCoA, which is used by the MS to redirect packets addressed to its current point of attachment.
1.6.4 Sequence of Operations: Intra-domain Movement
When a MN moves within a domain (from the coverage of one BS to another), then the MN registers its new point of attachment with the MS. The MS then updates the binding entry for the MN replacing the existing PCoA with the new PCoA. It may also send binding updates to the MN""s local CN""s.
1.6.5 Data Flow
Datagrams sent by a CN are intercepted by the MN""s HA and forwarded to the MN""s VCoA. The MS intercepts these packets and tunnels them to the PCoA. The MS sends a (Home Address, Border Router) bind update message to each of the CNs. The CNs, upon receiving these messages, update the MN""s entry and sends the forthcoming packets to the MN""s current PcoA.
1.7 Multicasting Based Architecture for Internet Host Mobility [Multi97]
This proposal uses IP multicasting as a mechanism to achieve mobility. Every mobile node is issued a multicast address instead of a unicast address. There is no concept of Home Agent/Foreign Agent. Instead, the multicast address is used along with location servers and multicast routers to achieve mobility. It is not a solution to the problem of micro-mobility. Instead, it is protocol that challenges Mobile IP.
1.7.1 Terminology
Location Server (Distributed Directory): These are servers that store bindings between the multicast address of a MN and the multicast router serving the MN. Each MN is responsible for periodically updating its location server with information on the multicast router (MR) serving it.
Base Station: In addition to the normal capabilities of a base station, each base station has the capability of working as a MR
1.7.2 Principles
When a CN sends datagrams intended for a MN (having a multicast address), the multicast router for the correspondent node (MR_CN) within the network picks up the datagrams and checks a location server for information regarding the MN. The location server chosen depends upon the multicast address of the MN. Upon obtaining the address of the multicast router (MR_MN) that serves the MN, the MR_CN contacts the MR_MN and joins the multicast group and forwards the datagrams. Each MR that receives the datagrams de-tunnels the datagrams and forwards them to the MN. Before the MN moves from the coverage of one multicast router to another, the MN requests the MR within the new network to join the multicast group. As a result, the MN receives an uninterrupted flow of packets uninterrupted. Therefore, both the previous MR and the new MR of the MN receives the packets, but the previous MR will stop receiving datagrams after a certain time period.
The protocols previously discussed in this document have some drawbacks.
Cellular IP implies that the mobile node implements that protocol. This is major drawback since it requires an update from every node to take advantage of the protocol. Another drawback is that the protocol does not detail how the mobile node determines whether it uses a traditional scheme (i.e. mobile IP) or the cellular scheme.
Both Cellular IP and HAWAII use a hop-by-hop routing protocol. As a result, both protocols may require management of huge routing tables when deployed in a big network (e.g. some cellular networks use millions of users). This implies also that all nodes in the wireless domain must be integrated with a specific software. Therefore, off the shelf components can not be used.
HAWAII does not support the foreign address care-of address scheme offered in mobile IP. Instead, HAWAII requires usage of co-located care-of address. Co-located care-of address requires the operator to manage a huge number of IP addresses, since it must allocate one IP address per user. Considering that IPv4 already has a lack of address, this proposal also implies that the network either run a private address scheme or use IPv6.
The Singapore proposal implies that the mobile node sends the multicast address along with the registration request to the new base station. This modifies the protocol with every single mobile node.
The unified hierarchical model implies that the mobility support registers on the mobile node""s behalf with the home agent. This scheme creates a serious security issue. It also modifies the mobile IP specification by changing the registration PDU. Finally, the mobile node needs to have the IP address of the base station with which it was previously connected.
The solutions aforementioned do not support a scheme such as xe2x80x9cmake before breakxe2x80x9d, which is essential for voice over IP applications.
Multi97 has several drawbacks. There is a limitation in the number of unique class D addresses that can be assigned to each and every MN in IPv4. Also, it requires that every router in a sub-network is mobility-aware. Before a MN moves under a new coverage, it can inform the MR within that area of a possible handoff and request the MR to join the multicast group. Therefore, the MN has to know the address of the neighboring MR. Also, there is overhead that is involved at the MN every time it performs a handoff. In addition, the scalability of using a location server is something that is not very clear.
In a preferred embodiment, the invention is a method and apparatus for registering a mobile node in both home and in foreign domains using the following methodology. A base station informs a base station router of the presence of a mobile (or mobile node or mobile host) entering the base station""s coverage area by sending a mobile node advertisement message to a base station router. If the mobile node is unknown to the base station router (i.e., mobile node not present in the base station router""s binding or probable caches), the base station router sends an agent advertisement to the mobile. In addition, the mobile node sends a mobile IP registration request to the base station router. Then, the base station router appends a base station router extension message to the mobile IP registration request (which contains an IP address of the base station router) and forwards the mobile IP registration request to a main access router. Next, a home agent serving the mobile host is asked to grant or deny the mobile IP registration request. The home agent then replies.
In another preferred embodiment, the main access router appends a multicast address extension to the mobile IP registration reply. The multicast address extension contains the multicast address allocated for the mobile node. This address is unique in the domain.
In still another preferred embodiment, the base station router sends a neighbor update message to other base station routers. The neighbor update message contains a list of mobile nodes currently located under the base station router""s coverage area.
In yet still another preferred embodiment, the invention is a method and apparatus for sending packets to a mobile node in a foreign domain, comprising the steps of sending at least one packet to the home network. The home agent tunnels the packet to a main access router. The main access router detunnels the packet, creates another tunnel and forwards the packet to a diffusion (or multicast) group where a base station router detunnels the packet and forwards it to the mobile node. Furthermore, the neighboring base station routers not currently serving the mobile node filter and discard the packet. A neighboring base station router is a base station router that has an entry for the mobile node in its probable cache.
In yet still another preferred embodiment, the invention is a method and apparatus for sending packets to a mobile node in a home domain, comprising the steps of sending at least one packet to a mobile node address by tunneling the packet to a main access router and forwarding the packet to a multicast group where a base station router detunnels the packet and forwards it to the mobile node. Furthermore, the neighboring base station routers not currently serving the mobile node filter and discard the packet. A neighboring base station router is a base station router that has an entry for the mobile node in its probable cache.